As new types of devices become available in the market, enterprises or other users of these devices are continually integrating these new devices into workflows. Typically, different devices offer different capabilities, and these devices may expose their capabilities using different mechanisms. Thus, those who wish to use these devices in workflows may face the prospect of discovering and using a variety of different techniques to extract the capabilities of different devices. Further, where a given device offers multiple functions, this single device may expose the capabilities of these different functions using different mechanisms. For example, the device may provide one application program interface (API) for querying for scan-related functions, and another API for querying. for print-related functions.
Additionally, once the capabilities of the devices have been extracted, the integration of these capabilities into workflows remains an issue. More specifically, applications may use conventional techniques to specify settings for multiple devices in a given workflow. Under these conventional techniques, the applications may face the burden of interacting with each device on a piecemeal basis to specify the settings for whatever functions that the device is performing in the workflow.